6
תגובות
הפונקציה sleep
פתח
NaseemIB96
,
היי
במהלך בניית מערכת מסוימת ב PHP בניתי מערכת התחברות,
ואחרי כמה תנאים עכשיו ELSE ושמתי את הקוד הבא :
כפי שאפשר לראות הקוד הבא עושה את הדברים הבאים :
1- מציג הודעה מסוימת
2- מתחיל סשן
3- מגדיר סשן
4- עוצר ל 2 שניות
5- מעביר/מפנה לדף הראשי
אבל כשאני מפעיל את הקוד הוא לא מציג את ההודעה שהוא אומר להציג אותה בשלב 1.
מה עשיתי טעות פה ? איך אני מתקן את זה ? תודה רבה לכם !
במהלך בניית מערכת מסוימת ב PHP בניתי מערכת התחברות,
ואחרי כמה תנאים עכשיו ELSE ושמתי את הקוד הבא :
else{
echo "התחברת בהצלחה למערכת, מיד תועבר לפאנל ניהול";
session_start();
$_SESSION['admin'] = $username;
sleep(2);
header('location: index.php');
}
echo "התחברת בהצלחה למערכת, מיד תועבר לפאנל ניהול";
session_start();
$_SESSION['admin'] = $username;
sleep(2);
header('location: index.php');
}
כפי שאפשר לראות הקוד הבא עושה את הדברים הבאים :
1- מציג הודעה מסוימת
2- מתחיל סשן
3- מגדיר סשן
4- עוצר ל 2 שניות
5- מעביר/מפנה לדף הראשי
אבל כשאני מפעיל את הקוד הוא לא מציג את ההודעה שהוא אומר להציג אותה בשלב 1.
מה עשיתי טעות פה ? איך אני מתקן את זה ? תודה רבה לכם !
6 תשובות
ענה
questioner
ב
26 ליוני 2012
#
התוכן נכתב רק בסוף הסקריפט.
לכן מה שקורה זה שהתוכן נכתב, ומייד אחר כך אתה מועבר לעמוד ההוא.
תצטרך להשתמש בJS, כנראה
פעם ראשונה שאני רואה עיכובים בקוד PHP..
המטרה שלך כמה שפחות להשתמש בשרת גם אם מדובר בעיכוב,מומלץ להעביר המתנות לצד הלקוח
בשביל מה אתה עוצר את הסקריפט כשאפשר לשים ב-header את מס' השניות שצריכות לעבור עד שהמשתמש יעבור לדף אחד? אז לפני ה-location ציין את מס' השניות. ככה אתה תעביר לדפדפן header והוא כבר ידאג בעצמו להעביר את המשתמש לדף אחר. מה שאתה עושה עכשיו - לא יעיל.
ענה
iiddaannyy
ב
26 ליוני 2012
#
וחוץ מזה:
http://phpguide.co.il/Can+not+send+session+cookie++headers+already+sent.htm